看到這個落落長的標題,其實就是自己建立應用程式,然後使用Azure的身份識別去做Single-Sign-On登入,就可以存取到Azure的服務,比如說: Azure Graph、Azure Management API...等等的,藉此可以操控一些Azure資源,像我們要使用到Azure上的服務用這個就蠻適合的!,廢話不多說,馬上開始吧!
準備
首先因為我們要把應用程式註冊到租用戶底下,所以需要開一個新的租用戶
因為如果權限不夠無法將應用程式註冊到Tenant底下
到Azure Portal搜尋Azure Active Directory
再來填基本
組態
接著就可以建立囉
接著建立好之後就可以在右上角看到剛剛的Tenant已經改變名稱了
到Azure Portal搜尋Azure Active Directory,然後到應用程式註冊的地方
並且新增註冊
然後按下註冊即可
然後在應用程式裡面點擊快速入門的地方
Azure 已經提供許多SSO的範例了,我們直接用就好了
再來選擇Web 應用程式
選擇Python
裡面也有一些安裝說明了,其實也蠻簡單的!
先點擊為我進行這些變更
再來下載範例
進入到專案
cd ms-identity-python-webapp-master
安裝依賴
pip install -r requirements.txt
執行應用程式
python app.py
再來登入
http://127.0.0.1:5000/login
就會到一個授權的畫面,按下接受就會把應用程式掛進去Tenant的應用程式底下了
接著就可以看到已經登入成功了,可以Call Graph API (如果有遇到問題可以跳到最後面!)
基本上這樣就成功註冊應用程式到Tenant,並且可以使用Azure的一些資源,實際上有哪些資源呢?我們可以在API權限的新增權限裡面看到
如果想要加入Facebook、Google的登入,可以選擇外部身份識別,可以新增外部的識別
我一開始註冊的時候遇到了這個問題,我的解決方法是
pip install pyOpenSSL
新增在app.py
if __name__ == "__main__":
app.run(ssl_context='adhoc')
然後到驗證的地方,在Web重新導向URI,修改成Https